/**
 * 代理配置文件
 * 用于集中管理API和WebSocket的URL配置
 */

// 后端服务的基础URL
const BASE_API_URL = process.env.VUE_APP_BASE_API || '/api';

// WebSocket服务的URL
const WS_URL = process.env.VUE_APP_WS_URL || '/ws';

// API 路径配置
const API_PATHS = {
  // 语音处理相关API
  VOICE: {
    PROCESS: '/voice/process',     // 语音处理
    RECOGNIZE: '/voice/recognize', // 语音识别
    SYNTHESIZE: '/voice/synthesize' // 语音合成
  },
  
  // MCP相关API
  MCP: {
    PROCESS: '/mcp/process',      // 处理用户意图
    QUERY: '/mcp/query',          // 查询数据
    AGENT_STATUS: '/mcp/agent-status' // 获取智能体状态
  },
  
  // LLM相关API
  LLM: {
    PROCESS: '/llm/process',      // 处理自然语言
    CHAT: '/llm/chat'             // 对话聊天
  },
  
  // 流式处理API
  STREAM: {
    CHAT: '/stream-chat'          // 流式对话
  }
};

// WebSocket 配置 (STOMP)
const WS_CONFIG = {
  RECONNECT_INTERVAL: 3000,      // 重连间隔时间（毫秒）
  MAX_RECONNECT_ATTEMPTS: 5,     // 最大重连尝试次数
  PING_INTERVAL: 30000,          // 心跳间隔（毫秒）
  TOPICS: {
    CHAT_RESPONSE: '/topic/chat/response',  // 聊天响应主题
    STREAM_RESPONSE: '/topic/stream/response' // 流式响应主题
  },
  DESTINATIONS: {
    SEND_MESSAGE: '/app/chat',    // 发送消息目的地
    START_STREAM: '/app/stream'   // 启动流式处理目的地
  }
};

// Webpack开发服务器代理配置
const DEV_PROXY_CONFIG = {
  '/api': {
    target: 'http://localhost:8080',
    changeOrigin: true,
    pathRewrite: {
      '^/api': '/iff/api'
    },
    secure: false,
    cookieDomainRewrite: { '*': '' }
  },
  '/ws': {
    target: 'ws://localhost:8080',
    changeOrigin: true,
    ws: true,
    pathRewrite: {
      '^/ws': '/iff/ws'
    }
  }
};

module.exports = {
  BASE_API_URL,
  WS_URL,
  API_PATHS,
  WS_CONFIG,
  DEV_PROXY_CONFIG
}; 